package cn.bugstack.ai.config;

import org.springframework.ai.embedding.EmbeddingModel;
import org.springframework.ai.openai.OpenAiEmbeddingModel;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;

/**
 * Embedding Model 配置类
 * 用于解决多个 EmbeddingModel Bean 冲突的问题
 * 
 * @author AI Assistant
 * @date 2025-11-21
 */
@Configuration
public class EmbeddingModelConfig {

    /**
     * 将 OpenAI 的 EmbeddingModel 标记为主要 Bean
     * 这样 PgVectorStore 在注入 EmbeddingModel 时会优先使用这个
     */
    @Bean
    @Primary
    public EmbeddingModel primaryEmbeddingModel(
            @Qualifier("openAiEmbeddingModel") OpenAiEmbeddingModel openAiEmbeddingModel) {
        return openAiEmbeddingModel;
    }
}
